# Required functions: `syrs.est`, `srs.mean` # required packages: `sampling` (install if needed) library(sampling) N=200; n=20; k=10 id=1:200; random=50+4*rnorm(200) ordered=rnorm(200)+id; periodic=sin(id/5) plot(random~id,main='random') plot(ordered~id,main='ordered') plot(periodic~id,main='periodic') # syrs.est(data,x,k,n,N,param) set.seed(5273) # SRS s1=srswor(n,N) srs1=(1:N)[s1==1] rand.srs=random[srs1] srs.mean('random',rand.srs,n,N) # SyRS syrs1=seq(sample(1:k,1),N,k) rand.sys=random[syrs1] syrs.est('random',rand.sys,k,N,'mean') set.seed(73) # SRS s2=srswor(n,N) srs2=(1:N)[s2==1] ord.srs=ordered[srs2] srs.mean('ordered',ord.srs,n,N) # SyRS syrs2=seq(sample(1:k,1),N,k) ord.sys=ordered[syrs2] syrs.est('ordered',ord.sys,k,N,'mean') set.seed(590) # SRS s3=srswor(n,N) srs3=(1:N)[s3==1] per.srs=periodic[srs3] srs.mean('periodic',per.srs,n,N) # SyRS syrs3=seq(sample(1:k,1,replace=F),N,k) per.sys=periodic[syrs3] syrs.est('periodic',per.sys,k,N,'mean')